/*
 * Serialization.java
 *
 * Created on April 14, 2005, 10:21 AM
 */

package org.infoset.xml;

import java.util.*;

/**
 * This interface represents all the serialization properties as specified
 * by XSLT 2.0.
 * @author R. Alexander Milowski
 */
public interface Serialization
{
   final String YES = "yes";
   final String NO = "no";
   final String OMIT = "omit";
   
   Name getMethod();
   void setMethod(Name outputMethod);
   
   boolean getByteOrderMark();
   void setByteOrderMark(boolean value);
   
   List getCDataElements();

   String getDoctypePublicId();
   void setDoctypePublicId(String value);
   
   String getDoctypeSystemId();
   void setDoctypeSystemId(String value);
   
   String getEncoding();
   void setEncoding(String value);
   
   boolean getEscapeURIAttributes();
   void setEscapeURIAttributes(boolean value);
   
   boolean getIndent();
   void setIndent(boolean value);
   
   String getMediaType();
   void setMediaType(String value);
   
   String getNormalizationForm();
   void setNormalizationForm(String value);
   
   boolean getOmitXMLDeclaration();
   void setOmitXMLDeclaration(boolean value);
   
   String getStandalone();
   void setStandalone(String value);
   
   boolean getUndeclarePrefixes();
   void setUndeclarePrefixes(boolean value);
   
   Map getCharaterMap();
   void setCharacterMap(Map value);
   
   String getVersion();
   void setVersion(String value);
   
   boolean getPreferDefault();
   void setPreferDefault(boolean value);

   void start()
      throws XMLException;
   
   void end()
      throws XMLException;
}
